package com.family.pedigree.service;


import com.baomidou.mybatisplus.extension.service.IService;
import com.family.pedigree.domain.FamilyClan;
import com.family.pedigree.domain.dto.FamilyNodeDto;
import com.family.pedigree.domain.vo.FamilyClanQuery;


import java.util.List;
import java.util.Map;

/**
 * <p>
 * 家族族谱信息
 服务类
 * </p>
 *
 * @author forever
 * @since 2024-11-10
 */
public interface IFamilyClanService extends IService<FamilyClan> {

    /**
     * 查询全部家族数
     *
     * @param clanVo 查询条件
     * @return 家族树结构
     */
    List<FamilyNodeDto> getAllTree(FamilyClanQuery clanVo);

    Map<String, Object> countByType(String type);

    List<?> getList(FamilyClan clan);

    void add(FamilyClan clan);

    void edit(FamilyClan clan);

    void delById(Long familyId);

    List<FamilyNodeDto> getPersonAll(Long nodeId);
}
